/**
 * @author pedro
 */
	//Cantidad de facturas en la vista de impresión
	var iCantFacturas;
	
	var oPosicionesA;
	var oPosicionesB;


 jQuery(document).ready(function(){
 		
		sUrl = jQuery('#path-json').val() + 'facturaA' + '.json';
		leerConfiguracion('A', sUrl);	
		sUrl = jQuery('#path-json').val() + 'facturaB' + '.json';
		leerConfiguracion('B', sUrl);
		
		/*
			jQuery('.factura').each(function()
			{
				sIdFactura = jQuery(this).attr('id');
				sUrl = jQuery('#path-json').val() + 'factura'+ jQuery(this).find('.tipo-factura').val() + '.json';
				leerConfiguracion(sUrl,sIdFactura);
				jQuery(this).css("background",'transparent url(../img/facturas/fact' + jQuery(this).find('.tipo-factura').val() + '.jpg) no-repeat ');
			})
		*/
		
		iCantFacturas = jQuery('.factura').length;
		
		//Accedemos al primer elemento automaticamente
		if(iCantFacturas > 0)
		{
			iCurrentPage = 1;
			location.href = '#' + jQuery('.factura').eq(iCurrentPage-1).attr('id');
			//Seteamos el valor iniciar
			jQuery('#current-page').html(iCurrentPage);
			
			//Seteamos la cant de paginas
			jQuery('#total-pages').html(iCantFacturas);
		}
		
		/*Definimos los eventos*/
		jQuery('#nav-anterior').click(function()
		{
			iCurrentPage = jQuery('#current-page').html();
			iPrevPag = parseInt(iCurrentPage)-1;
			if(iPrevPag==0)
			{
				jQuery('#current-page').html(iCantFacturas);
				location.href = '#' + jQuery('.factura').eq(iCantFacturas-1).attr('id');
			}else
			{
				jQuery('#current-page').html(iPrevPag);
				location.href = '#' + jQuery('.factura').eq(iPrevPag-1).attr('id');
			}
		});
		
		jQuery('#nav-siguiente').click(function()
		{
			iCurrentPage = jQuery('#current-page').html();
			iNextPag = parseInt(iCurrentPage)+1;
			if(iNextPag>iCantFacturas)
			{
				jQuery('#current-page').html('1');
				location.href = '#' + jQuery('.factura').eq(0).attr('id');
			}else
			{
				jQuery('#current-page').html(iNextPag);
				location.href = '#' + jQuery('.factura').eq(iNextPag-1).attr('id');
			}
		});
		
		//hacemos que los cuadros sean dragables
		jQuery('.cuadro').draggable(); 
		
	});
	
	var oPosiciones;
	
	//Definimos la clase Factura
	var Factura = function()
	{
		var name;
		var type;
		var aElement = new Array();
	}
	
	var leerPosiciones = function(sType)
	{
		//Recorremos todas las facturas
		jQuery('.tipo-factura[value='+ sType +']').each(function()
		{
			sIdFactura = jQuery(this).parent().attr('id');
			//sUrl = jQuery('#path-json').val() + 'factura'+ jQuery(this).val() + '.json';
			jQuery(this).parent().css("background",'transparent url(../img/facturas/fact' + sType + '.jpg) no-repeat ');
			setearPosiciones(sType, sIdFactura);
		})
	}
	
	var leerConfiguracion = function(sType, sUrl)
	{
		jQuery.getJSON(
			sUrl,
			function(oJson)
			{
				if(sType == 'A')
				{
					oPosicionesA = oJson;	
				}else
				{
					oPosicionesB = oJson;						
				}
				
				leerPosiciones(sType);
		  }
		);
	};
	
	
	
	
	var getBox = function(oElement)
	{
		//console.log(oElement.attr('id'));
		var oBox = new Object();
		//accedemos al contenedor que nos va a ser de referente para las posiciones
		oBox.top    = oElement.position().top;
		oBox.left   = oElement.position().left;
		oBox.width  = oElement.width();
		oBox.height = oElement.height();
		return oBox;
	}
	
	var setearPosiciones = function(sType, sIdFactura){
		
		if (sType=='A')
		{
			oJson = oPosicionesA;	
		}else
		{
			oJson = oPosicionesB;	
		}
		
		
  	var aPosiciones = new Array();
  	
  	var oFactura = new Factura();
  	oFactura.name = oJson.name;
  	oFactura.type = oJson.type;
  	
  	//recorremos el arreglo con los datos de las coordenadas de los elementos
			for (var i = 0; i < oJson.elements.length; i++) {
				var sName = oJson.elements[i].name;
				var iX = oJson.elements[i].x;
				var iY = oJson.elements[i].y;
				
				
				var oElement = new Object();
				oElement.name = sName;
				oElement.left = parseInt(iX);
				oElement.top 	= parseInt(iY);
				oElement.width = (typeof oJson.elements[i].width!='undefined') ? oJson.elements[i].width : 'inherited';
				oElement.height = (typeof oJson.elements[i].height!='undefined') ? oJson.elements[i].height : 'inherited';
				oElement.type = '';
				if(oJson.elements[i].type=='renglon')
				{
					oElement.type = 'renglon';
					oElement.width = oJson.options.renglon.renglon;
					oElement.renglon = new Object();
					oElement.renglon.cantDetalle = oJson.options.renglon.cantDetalle;
					oElement.renglon.descDetalle = oJson.options.renglon.descDetalle;
					oElement.renglon.precioUnitDetalle = oJson.options.renglon.precioUnitDetalle;
					oElement.renglon.totalDetalle = oJson.options.renglon.totalDetalle;
				}
				
				aPosiciones[sName] = oElement;
			}
			
			oFactura.aElement = aPosiciones;
			
			//console.log('#' + sIdFactura);
			oBoxCont = getBox(jQuery('#' + sIdFactura)); 
			
			var aBoxes = jQuery('#' + sIdFactura + ' .cuadro');
			
			//console.log('---------' + sIdFactura + '--' + sType);
			aBoxes.each(function(){
				oEl = jQuery(this);
				sId = oEl.attr('rel');
				
				oEl.css("margin-left" ,oFactura.aElement[sId].left);
				oEl.css("margin-top"  ,oFactura.aElement[sId].top);
				oEl.css("width"     	,oFactura.aElement[sId].width);
				oEl.css("height"      ,oFactura.aElement[sId].height);
				
				//console.log(oFactura.aElement[sId].type);
				if(oFactura.aElement[sId].type=='renglon')
				{
					//definimos el ancho
					//oEl.find('.cant-detalle').css("width" ,oFactura.aElement[sId].renglon.cantDetalle);
					oEl.find('.cant-detalle').css("width" ,oFactura.aElement[sId].renglon.cantDetalle);
					oEl.find('.desc-detalle').css("width" ,oFactura.aElement[sId].renglon.descDetalle);
					oEl.find('.precio-unit-detalle').css("width" ,oFactura.aElement[sId].renglon.precioUnitDetalle);
					oEl.find('.total-detalle').css("width" ,oFactura.aElement[sId].renglon.totalDetalle);
				}
			});
		}
		
		var enviarFactura = function()
		{
			document.frmFactura.submit();
		}